﻿/*----------------------------------------------------------------
//  <copyright file="HubConnectionEventData.cs" company="MicroCloud@151504200868">
//      Copyright © 2020-2024 MicroCloud Corporation, All rights reserved.
//  </copyright>
//  <site>https://gitee.com/chenmm123/microclouds</site>
//  <last-editor>cmm</last-editor>
//  <last-date>2023-09-25 08:29</last-date>
//----------------------------------------------------------------*/

namespace MicroCloud
{
    #region "集线器建立新连接事件数据"
    /// <summary>
    /// 集线器建立新连接事件数据
    /// </summary>
    public class HubConnectionEventData : HubEventDataBase
    {
        #region "构造函数"
        #region "初始化一个集线器建立新连接事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器建立新连接事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubConnectionEventData(IHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器建立新连接事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器建立新连接事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubConnectionEventData(IHubCallerClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器建立新连接强类型事件数据"
    /// <summary>
    /// 集线器建立新连接强类型事件数据
    /// </summary>
    public class HubConnectionEventData<T> : HubEventDataBase<T>
        where T : class
    {
        #region "构造函数"
        #region "初始化一个集线器建立新连接强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器建立新连接强类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubConnectionEventData(IHubClients<T> clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器建立新连接强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器建立新连接强类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubConnectionEventData(IHubCallerClients<T> callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器建立新连接运行时解析类型事件数据"
    /// <summary>
    /// 集线器建立新连接运行时解析类型事件数据
    /// </summary>
    public class HubConnectionDynamicEventData : DynamicHubEventDataBase
    {
        #region "构造函数"
        #region "初始化一个集线器建立新连接运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器建立新连接运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubConnectionDynamicEventData(DynamicHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器建立新连接运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器建立新连接运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubConnectionDynamicEventData(DynamicHubClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion

    #region "集线器终止连接事件数据"
    /// <summary>
    /// 集线器终止连接事件数据
    /// </summary>
    public class HubDisconnectionEventData : HubEventDataBase
    {
        #region "属性"
        #region "获取或设置 用户键标识"
        /// <summary>
        /// 获取或设置 用户键标识
        /// </summary>
        public string UserKey { get; set; }
        #endregion
        #region "获取或设置 异常信息"
        /// <summary>
        /// 获取或设置 异常信息
        /// </summary>
        public System.Exception  Exception { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器终止连接事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器终止连接事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubDisconnectionEventData(IHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器终止连接事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器终止连接事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubDisconnectionEventData(IHubCallerClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器终止连接强类型事件数据"
    /// <summary>
    /// 集线器终止连接强类型事件数据
    /// </summary>
    public class HubDisconnectionEventData<T> : HubEventDataBase<T>
        where T : class
    {
        #region "属性"
        #region "获取或设置 用户键标识"
        /// <summary>
        /// 获取或设置 用户键标识
        /// </summary>
        public string UserKey { get; set; }
        #endregion
        #region "获取或设置 异常信息"
        /// <summary>
        /// 获取或设置 异常信息
        /// </summary>
        public System.Exception Exception { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器终止连接强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器终止连接强类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubDisconnectionEventData(IHubClients<T> clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器终止连接强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器终止连接强类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubDisconnectionEventData(IHubCallerClients<T> callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器终止连接运行时解析类型事件数据"
    /// <summary>
    /// 集线器终止连接运行时解析类型事件数据
    /// </summary>
    public class HubDisconnectionDynamicEventData : DynamicHubEventDataBase
    {
        #region "属性"
        #region "获取或设置 用户键标识"
        /// <summary>
        /// 获取或设置 用户键标识
        /// </summary>
        public string UserKey { get; set; }
        #endregion
        #region "获取或设置 异常信息"
        /// <summary>
        /// 获取或设置 异常信息
        /// </summary>
        public System.Exception Exception { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器终止连接运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器终止连接运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubDisconnectionDynamicEventData(DynamicHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器终止连接运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器终止连接运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubDisconnectionDynamicEventData(DynamicHubClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion

}
